<?php
/**
* Read me:
* kenapa harus select satu-satu? -> untuk menghidari penggunaan memori yang berlebih dengan select *
*
*
**/
class Pegawai_model  extends CI_Model  {

	function __construct()
	    {
	        parent::__construct();
	    }

	function get_pegawai_all()
		{
			$sql = $this->db->select('NIP,NOMOR_INDUK,NM_PEGAWAI,INISIAL,KOTA_LAHIR,TANGGAL_LAHIR,KD_JENIS_KELAMIN,KD_GOL_DARAH,KD_AGAMA,
				KD_STATUS_NIKAH,ALAMAT,KD_POS,NO_TELP,KD_JENIS_KETENAGAAN,NO_HP,USERNAME,TANGGAL_AKSES,NOMOR_INDUK_BARU,NUPTK,GELAR_DEPAN,GELAR_BELAKANG,
				NIY_NIGK,NIK,NM_IBU_KANDUNG,RT,RW,KELURAHAN_DESA,KECAMATAN,KABUPATEN_KOTA,PROPINSI,KD_AREA,EMAIL,STATUS_KEPEGAWAIAN,SERTIFIKASI_JABATAN,
				TAHUN_SERTIFIKAT_JABATAN,NOMOR_SERTIFIKAT_JABATAN,KD_SERTIFIKASI_BIDANG_STUDI,KD_PROGRAM_KEAHLIAN,LISENSI_KEPALA_SEKOLAH,CATATAN')
				->get('t_pegawai');
			return $sql->result();
		}

	function get_keluarga_all()
		{
			$sql= $this->db->select('t_pegawai_keluarga.NIP,t_pegawai_keluarga.NO_URUT,t_pegawai_keluarga.NM_KELUARGA,t_pegawai_keluarga.KD_HUB_KELUARGA,
				t_pegawai_keluarga.PROP_LAHIR,t_pegawai_keluarga.KOTA_LAHIR,t_pegawai_keluarga.TANGGAL_LAHIR,t_pegawai_keluarga.KD_JENIS_KELAMIN,
				t_pegawai_keluarga.KD_GOL_DARAH,r_gol_darah.NM_GOL_DARAH,t_pegawai_keluarga.KD_STATUS_NIKAH,t_pegawai_keluarga.TANGGAL_MENIKAH,
				t_pegawai_keluarga.TAHUN_MENINGGAL,t_pegawai_keluarga.ALAMAT,t_pegawai_keluarga.PEKERJAAN,t_pegawai_keluarga.NIP_PNS,
				t_pegawai_keluarga.NISN,t_pegawai_keluarga.JENJANG_SEKOLAH,t_pegawai_keluarga.TAHUN_MASUK,t_pegawai_keluarga.USERNAME,
				t_pegawai_keluarga.TANGGAL_AKSES,r_agama.NM_AGAMA')
				->join('r_gol_darah','t_pegawai_keluarga.KD_GOL_DARAH = r_gol_darah.KD_GOL_DARAH')
				->join('r_agama','t_pegawai_keluarga.KD_AGAMA = r_agama.KD_AGAMA')
				->get('t_pegawai_keluarga');
			return $sql->result();
		}

	function pend_formal_all()	
		{
			$sql= $this->db->select('t_pegawai_didik_formal.NIP,t_pegawai_didik_formal.NO_URUT,r_tingkat_ijazah.NM_TINGKAT_IJAZAH,
				t_pegawai_didik_formal.FAKULTAS,t_pegawai_didik_formal.KD_PROGRAM_STUDI,r_program_studi.NM_PROGRAM_STUDI,
				t_pegawai_didik_formal.STATUS_KEPENDIDIKAN,t_pegawai_didik_formal.NM_INSTANSI_PENDDKN,t_pegawai_didik_formal.KD_AKREDITASI,
				r_akreditasi.NM_AKREDITASI,t_pegawai_didik_formal.TAHUN_MULAI,t_pegawai_didik_formal.KD_STATUS_LULUS,t_pegawai_didik_formal.TAHUN_SELESAI,
				t_pegawai_didik_formal.TANGGAL_IJAZAH,t_pegawai_didik_formal.NO_IJAZAH,t_pegawai_didik_formal.USERNAME,t_pegawai_didik_formal.TANGGAL_AKSES')
				->join('r_tingkat_ijazah','r_tingkat_ijazah.KD_TINGKAT_IJAZAH = t_pegawai_didik_formal.KD_TINGKAT_IJAZAH')
				->join('r_program_studi','r_program_studi.KD_PROGRAM_STUDI = t_pegawai_didik_formal.KD_PROGRAM_STUDI')
				->join('r_akreditasi','r_akreditasi.KD_AKREDITASI = t_pegawai_didik_formal.KD_AKREDITASI')
				->join('__auth','__auth.USERNAME = t_pegawai_didik_formal.USERNAME')
				//->join('t_pegawai','t_pegawai.NIP = t_pegawai_didik_formal.NIP')
				->get('t_pegawai_didik_formal');
			return $sql->result();
		}
	function pend_nonformal_all()
		{
			$sql = $this->db->select('ID_PEGAWAI_DIDIK_NON_FORMAL,NIP,LEMBAGA_PENDIDIKAN_INSTANSI,BIDANG_STUDI,TAHUN_MULAI,TAHUN_SELESAI,TINGKAT,USERNAME,TANGGAL_AKSES')
					->get('t_pegawai_didik_non_formal');
			return $sql->result();
		}

	function riwayat_pangkat_all()
		{
			$sql= $this->db->select('t_pegawai_rwyt_pangkat.NIP,t_pegawai_rwyt_pangkat.NO_URUT,t_pegawai_rwyt_pangkat.KD_STATUS_PEGAWAI,r_status_pegawai.NM_STATUS_PEGAWAI,
					t_pegawai_rwyt_pangkat.KD_PANGKAT,r_pangkat.NM_PANGKAT,t_pegawai_rwyt_pangkat.NO_SK,t_pegawai_rwyt_pangkat.TANGGAL_SK,t_pegawai_rwyt_pangkat.TMT_SK,
					t_pegawai_rwyt_pangkat.KETERANGAN,t_pegawai_rwyt_pangkat.USERNAME,t_pegawai_rwyt_pangkat.TANGGAL_AKSES')
					->join('r_status_pegawai','r_status_pegawai.KD_STATUS_PEGAWAI = t_pegawai_rwyt_pangkat.KD_STATUS_PEGAWAI')
					->join('r_pangkat','r_pangkat.KD_PANGKAT = t_pegawai_rwyt_pangkat.KD_PANGKAT')
					->join('__auth','__auth.USERNAME = t_pegawai_rwyt_pangkat.USERNAME')
					->get('t_pegawai_rwyt_pangkat');
			return $sql->result();
		}
	function riwayat_jabatan_all()
		{
			$sql = $this->db->select('t_pegawai_rwyt_jabatan.NIP,t_pegawai_rwyt_jabatan.NO_URUT,t_pegawai_rwyt_jabatan.KD_JENIS_PEGAWAI,r_jenis_pegawai.NM_JENIS_PEGAWAI,
					t_pegawai_rwyt_jabatan.KD_JABATAN_PEGAWAI,r_jabatan_pegawai.NM_JABATAN_PEGAWAI,t_pegawai_rwyt_jabatan.KD_TENAGA_ADMINISTRASI,r_tenaga_administrasi.NM_TENAGA_ADMINISTRASI,
					t_pegawai_rwyt_jabatan.NO_SK,t_pegawai_rwyt_jabatan.TANGGAL_SK,t_pegawai_rwyt_jabatan.TMT_SK,t_pegawai_rwyt_jabatan.TAHUN_BERHENTI,t_pegawai_rwyt_jabatan.KETERANGAN,
					t_pegawai_rwyt_jabatan.STATUS_JABATAN,t_pegawai_rwyt_jabatan.NM_SEKOLAH,t_pegawai_rwyt_jabatan.USERNAME,t_pegawai_rwyt_jabatan.TANGGAL_AKSES')
					->join('r_jenis_pegawai','r_jenis_pegawai.KD_JENIS_PEGAWAI = t_pegawai_rwyt_jabatan.KD_JENIS_PEGAWAI')
					->join('r_jabatan_pegawai','r_jabatan_pegawai.KD_JABATAN_PEGAWAI = t_pegawai_rwyt_jabatan.KD_JABATAN_PEGAWAI')
					->join('r_tenaga_administrasi','r_tenaga_administrasi.KD_TENAGA_ADMINISTRASI = t_pegawai_rwyt_jabatan.KD_TENAGA_ADMINISTRASI')
					->join('__auth','__auth.USERNAME = t_pegawai_rwyt_jabatan.USERNAME')
					->get('t_pegawai_rwyt_jabatan');
			return $sql->result();
		}

	function penataran_all()
		{
			$sql = $this->db->select('t_pegawai_penataran.NIP,t_pegawai_penataran.NO_URUT,t_pegawai_penataran.ID_PENATARAN,r_penataran.NM_PENATARAN,t_pegawai_penataran.KD_PENYELENGGARA_PENATARAN,
					r_penyelenggara_penataran.NM_PENYELENGGARA_PENATARAN,t_pegawai_penataran.KD_JENIS_PENATARAN,r_jenis_penataran.NM_JENIS_PENATARAN,t_pegawai_penataran.KD_MATA_PELAJARAN_DIAJARKAN,
					r_mata_pelajaran_diajarkan.NM_MATA_PELAJARAN_DIAJARKAN,t_pegawai_penataran.TANGGAL_AWAL,t_pegawai_penataran.TANGGAL_AKHIR,t_pegawai_penataran.JAM,t_pegawai_penataran.TEMPAT_BERLANGSUNG,
					t_pegawai_penataran.PERAN,t_pegawai_penataran.TINGAKATAN,t_pegawai_penataran.USERNAME,t_pegawai_penataran.TANGGAL_AKSES')
					->join('r_penataran','r_penataran.ID_PENATARAN = t_pegawai_penataran.ID_PENATARAN')
					->join('r_penyelenggara_penataran','r_penyelenggara_penataran.KD_PENYELENGGARA_PENATARAN = t_pegawai_penataran.KD_PENYELENGGARA_PENATARAN')
					->join('r_jenis_penataran','r_jenis_penataran.KD_JENIS_PENATARAN = t_pegawai_penataran.KD_JENIS_PENATARAN')
					->join('r_mata_pelajaran_diajarkan','r_mata_pelajaran_diajarkan.KD_MATA_PELAJARAN_DIAJARKAN = t_pegawai_penataran.KD_MATA_PELAJARAN_DIAJARKAN')
					->join('__auth','__auth.USERNAME = t_pegawai_penataran.USERNAME')
					->get('t_pegawai_penataran');
			return $sql->result();
		}

	function riwayat_mengajar_all()
		{
			$sql = $this->db->select('t_pegaway_rwyt_ajar.NIP,t_pegaway_rwyt_ajar.ID_PEGAWAI_RWYT_AJAR,t_pegaway_rwyt_ajar.NPSN_SEKOLAH,t_pegaway_rwyt_ajar.NM_SEKOLAH,t_pegaway_rwyt_ajar.TAHUN_MULAI_AJAR,
					t_pegaway_rwyt_ajar.TAHUN_AKHIR_AJAR,t_pegaway_rwyt_ajar.KD_MATA_PELAJARAN_DIAJARKAN,r_mata_pelajaran_diajarkan.NM_MATA_PELAJARAN_DIAJARKAN,t_pegaway_rwyt_ajar.JML_JAM,t_pegaway_rwyt_ajar.USERNAME,t_pegaway_rwyt_ajar.TANGGAL_AKSES')
					->join('r_mata_pelajaran_diajarkan','r_mata_pelajaran_diajarkan.KD_MATA_PELAJARAN_DIAJARKAN = t_pegaway_rwyt_ajar.KD_MATA_PELAJARAN_DIAJARKAN')
					->join('__auth','__auth.USERNAME = t_pegaway_rwyt_ajar.USERNAME')
					->get('t_pegaway_rwyt_ajar');
			return $sql->result();
		}


	function pengabdian_all()
		{
			$sql = $this->db->select('*')
					//->join('r_mata_pelajaran_diajarkan ','r_mata_pelajaran_diajarkan.KD_MATA_PELAJARAN_DIAJARKAN = t_pegawai_pengabdian.KD_MATA_PELAJARAN_DIAJARKAN_1')
					//->join('r_mata_pelajaran_diajarkan as mtb','mtb.KD_MATA_PELAJARAN_DIAJARKAN = t_pegawai_pengabdian.KD_MATA_PELAJARAN_DIAJARKAN_2')

					->get('t_pegawai_pengabdian');
			return $sql->result();
		}
	function get_keluarga_by($key,$value='')
		{
			if (is_array($key))
			{
				$this->db->where($key);
			}
			else
			{
				$this->db->where($key, $value);
			}
			return $this->get_keluarga_all();
		}

	function pend_formal_by($key,$value='')
		{
			if (is_array($key))
			{
				$this->db->where($key);
			}
			else
			{
				$this->db->where($key, $value);
			}
			return $this->pend_formal_all();
		}

	function pend_nonformal_by($key,$value='')
		{
			if (is_array($key))
			{
				$this->db->where($key);
			}
			else
			{
				$this->db->where($key, $value);
			}
			return $this->pend_nonformal_all();
		}

	function riwayat_pangkat_by($key,$value='')
		{
			if (is_array($key))
			{
				$this->db->where($key);
			}
			else
			{
				$this->db->where($key, $value);
			}
			return $this->riwayat_pangkat_all();
		}

	function riwayat_jabatan_by($key,$value='')
		{
			
			if (is_array($key))
			{
				$this->db->where($key);
			}
			else
			{
				$this->db->where($key, $value);
			}
			return $this->riwayat_jabatan_all();
		}
	
	function riwayat_mengajar_by($key,$value='')
		{
			if (is_array($key))
			{
				$this->db->where($key);
			}
			else
			{
				$this->db->where($key, $value);
			}
			return $this->riwayat_mengajar_all();
		}

	function penataran_by($key,$value='')
		{
			if (is_array($key))
			{
				$this->db->where($key);
			}
			else
			{
				$this->db->where($key, $value);
			}
			return $this->penataran_all();
		}

	function pengabdian_by($key,$value='')
		{
			if (is_array($key))
			{
				$this->db->where($key);
			}
			else
			{
				$this->db->where($key, $value);
			}
			return $this->pengabdian_all();
		}
}